100 REM this is RUNSHOW
105 REM "GOTO 1050" TO PICSAVE
110 DIM FILE$(12):DIM FF(100)
115 DIM LEM1(1000):DIM XX(200):DIM YY(200)
120 KEY 9,"gosub 890"+CHR$(13):KEY 10,"gosub 970"+CHR$(13)
130 N=1
200 FOR GRAB=1 TO N
205 READ FILE$(GRAB)
210 MEMDEL=GRAB*1024
215 MEMORY=8192-MEMDEL:REM 128K SYSTEM
220 'MEMORY=16384-MEMDEL:REM 256K SYSTEM
230 GOSUB  1110 :REM LOAD FILE$(N) INTO LOCATION "MEMORY"
240 NEXT
245 RESTORE
250 REM this is BASICMOV
260 ' BASIC DEMO TO USE CALL FUNCTION
270 '      USES AN ASSEMBLER SUBROUTINE TO MOVE
280 '      UP TO 65535 BYTES IN MEMORY
290 '******
300 KEY OFF
310 'DEFINE SEGMENT TO PLACE THE ASSEMBLER CODE
320 DEF SEG=&H1200
330 ' THIS TEST IF IT IS ALREADY LOADED, IF NOT IT LOADS IT
340 BLOAD"mcode.%%%",0
350 SUBRT= 0
360 ' A% = THE FROM ADDRESS
370 ' B% = THE TO ADDRESS
380 ' C% = THE LENGTH TO MOVE
390 GOSUB 900:REM TURN ON COLOR SCREEN
400 DEF SEG=&H1200
410 KEY OFF:SCREEN 1:COLOR 1,0
420 FOR DISP=1 TO N
430 MEMDEL=DISP*1024
435 MEMORY=8192-MEMDEL:REM 128K SYSTEM
436 PRINT MEMORY
440 'MEMORY=16384-MEMDEL:REM 256K SYSTEM
450 A%=MEMORY
460 B%=&HB800
470 C%=&H4000
480 CALL SUBRT (A%,B%,C%)
500 NEXT
505 GOTO 1160
510 REM AT COMPLETION OF THIS LOOP, N FRAMES HAVE BEEN LOADED
520 REM ********************SEQUENCING SETUP*************************
530 REM ******OPTION TO STEP THRU SEQUENCE (1,2....N) BY HITTING ANY KEY******
540 PRINT "TO STEP THRU IN CONSECUTIVE SEQUENCE,I.E. FROM 1,2,.....N"
550 INPUT "ENTER 'SS' FOR SINGLE STEP OPTION ";SS$:PRINT
560 IF SS$="SS" THEN PRINT "CURRENT SEQUENCE IS 1,2,.......N"
570 IF SS$="SS" THEN GOTO 420
580 REM ********************SELECTING DESIRED SEQUENCE**************
590 PRINT "ENTER FRAME SEQUENCE NUMBERS ONE AT A TIME"
600 FF=0:N=0
610 INPUT "ENTER FRAME NUMBER ";FRAME$
620 PRINT "TO QUIT, HIT RETURN"
630 IF FRAME$="" THEN GOTO 680
640 FRAME=VAL(FRAME$)
650 N=N+1
660 FF(N)=FRAME
670 GOTO 610
680 PRINT "SEQUENCE IS":PRINT
690 FOR SEQ=1 TO N:PRINT FF(SEQ):NEXT
700 INPUT "SET PAUSE ";P
710 PRINT "HIT ANY KEY TO RUN SEQUENCE"
720 A$=INPUT$(1)
730 DEF SEG=&H1200
740 BLOAD"mcode.%%%",0
750 SUBRT= 0
760 GOSUB 900:REM TURN ON COLOR SCREEN
770 DEF SEG=&H1200
780 KEY OFF:SCREEN 1:COLOR 1,0
790 FOR SHOW=1 TO N
800 MEMDEL=FF(SHOW)*1024
805 MEMORY=8192-MEMDEL:REM 128K SYSTEM
810 'MEMORY=16384-MEMDEL:REM 256K SYSTEM
820 A%=MEMORY
830 B%=&HB800
840 C%=&H4000
850 CALL SUBRT (A%,B%,C%)
860 FOR N=1 TO P:NEXT
870 NEXT
880 END
890 REM switch to color/graphics adapter
900 DEF SEG=0
910 POKE &H410,(PEEK(&H410) AND &HCF) OR &H20
920 DEF SEG
930 LOCATE ,,1,6,7
940 SCREEN 0
950 WIDTH 40
960 RETURN
970 REM switch to monochrome adapter
980 DEF SEG=0
990 POKE &H410,(PEEK(&H410) OR &H30)
1000 DEF SEG
1010 LOCATE ,,1,12,13
1020 SCREEN 0
1030 WIDTH 80
1040 RETURN
1050 REM this is PICSAVE
1060 INPUT "WHAT IS THE NAME YOU WANT TO SAVE UNDER ",A$
1070 DEF SEG=&HB800
1080 BSAVE A$,0,16384
1090 PRINT "SAVING ",A$
1100 END
1110 'PRINT "LOADING ";FILE$(GRAB);" STARTING AT ";MEMORY*16
1120 DEF SEG=MEMORY
1125 S$=FILE$(GRAB)
1130 BLOAD S$,0
1140 RETURN
1150 DATA ADVLAND.pic
1160 GET(90,30)-(110,46),LEM1
1161 PUT(90,30),LEM1,XOR
1174 XX=60:YY=0
1175 FOR MOVE=1 TO 30
1180 XX=XX+1:YY=YY+1
1185 PUT(XX,YY),LEM1,PSET
1190 FOR PAUSE=1 TO 40:NEXT
1195 NEXT
1205 XX=90:YY=30
1207 FOR MOVE=1 TO 140
1209 XX=XX+1:YY=YY+(.5)
1215 PUT(XX,YY),LEM1,PSET
1217 FOR PAUSE=1 TO 60:NEXT
1220 NEXT
1223 GET(230,100)-(250,114),LEM1
1225 FOR DOWN=1 TO 50
1230 YY=YY+1
1235 PUT (XX,YY),LEM1,PSET
1237 FOR PAUSE=1 TO 90:NEXT
1240 NEXT
1241 FOR DOWN=1 TO 28
1242 YY=YY+1
1243 PUT (XX,YY),LEM1,PSET
1244 FOR PAUSE=1 TO 180:NEXT
1245 NEXT:FOR PAUSE=1 TO 3000:NEXT
1246 GET(229,178)-(249,199),LEM1
1247 PUT(229,178),LEM1,XOR
1248 XX=XX-1
1250 FOR LEFT=1 TO 170
1252 PUT(XX,YY),LEM1,XOR
1253 FOR PAUSE=1 TO 20:NEXT
1254 IF LEFT=140 THEN GOSUB 1296
1255 XX=XX-1
1262 PUT(XX+1,YY),LEM1,XOR
1265 NEXT
1270 PUT(XX,YY),LEM1,PSET:GOSUB 1372
1275 PAINT (60,180)
1276 RUN"WELCOME
1296 LINE (56,199)-(56,166),0:LINE -(84,166),0:LINE -(84,199),0:PAINT(58,197),0
1297 FOR PAUSE=1 TO 2800:NEXT:RETURN
1372 FOR PAUSE=1 TO 4900:NEXT:RETURN
1472 FOR PAUSE=1 TO 300:NEXT:RETURN
